package com.softeem.score.model.vo.educational;

import com.softeem.score.model.entity.educational.Course;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.util.List;

@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "课程信息响应结果对象")
public class CourseVo extends Course {

    @Schema(description = "开课学院名称")
    private String collegeName;

    @Schema(description = "课程类别")
    private String categoryName;

    @Schema(description = "课程性质")
    private String natureName;

    @Schema(description = "课程归属")
    private String ownershipName;

    @Schema(description = "代课老师id")
    private List<Long> teacherIds;

    @Schema(description = "课程教师id")
    private Long courseTeacherId;

    @Schema(description = "课程教师名称")
    private String courseTeacherName;

    @Schema(description = "课程教师集合")
    private List<CourseTeacher> courseTeacher;

    @Schema(description = "成绩项")
    private List<Long> gradeComponentsIds;



    // 内部类 CourseTeacher
    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public static class CourseTeacher {

        @Schema(description = "course_teacher_id")
        private Long courseTeacherId;

        @Schema(description = "教师id")
        private Long teacherId;

        @Schema(description = "教师姓名")
        private String teacherName;
    }

}
